/*
 * @Description: 
 * @Author: HKH
 * @Date: 2024-09-13 10:47:53
 * @LastEditors: HKH
 * @LastEditTime: 2024-09-13 16:31:07
 */
public class Dog extends Animal1 {
    // 继承 了 animal
    // 不可以直接操作
    // Animal private String name
    // 可以直接操作
    // Animal public int number
    // 子类也需要一个名为 number 的成员变量
    // private int number = 20;
    // 子类新增一个属性
    private String color;
  
    // 构造器
    public Dog() {
      // 如果不显示的声明，这里会默认调用父类的无参构造器
      // super();
      System.out.println("Dog类的无参构造器");
    }
  
    // 全参构造器
    public Dog(String name, int number, String color) {
      // 调用父类的两参构造器
      super(name, number);
      // 赋值color
      this.color = color;
      System.out.println("Dog类的全参构造器");
    }
  
    // 子类的get set
    public void setColor(String color) {
      this.color = color;
    }
  
    public String getColor() {
      return color;
    }
  
    public void showNumber() {
      System.out.println("number: " + number);
      System.out.println("this.number: " + this.number);
      System.out.println("super.number: " + super.number);
    }
  
    public void showNumber(int number) {
      System.out.println("number: " + number);
      System.out.println("this.number: " + this.number);
      System.out.println("super.number: " + super.number);
    }
  
    // sayHello
    public void sayHello() {
      // System.out.println("继承:name: " + name); // 报错
      System.out.println("继承:name: " + getName()); // 父类私有属性 可以通过非私有方法访问
      System.out.println("继承:number: " + number);
      System.out.println("自有:color: " + color);
    }
  }